package org.zjx.operate;


import lombok.Getter;
import org.zjx.common.entity.Rect;

import java.awt.*;
import java.awt.image.BufferedImage;

public interface IOperate {
    @Getter
    enum MouseAction {
        UP("鼠标抬起"),
        DOWN("鼠标按下");

        private final String suffix;

        MouseAction(String suffix) {
            this.suffix = suffix;
        }
    }

    BufferedImage getImage(Rect rect);

    Color getPixelColor(int x, int y);

    void moveMouse(int x, int y);

    void clickMouse(Point point);

    void clickMouse(int button);

    void clickMouse(int button,MouseAction action);

    void scrollMouse(int amount);

    void dragMouse(int startX, int startY, int endX, int endY);

    void write(String str);

    void pressKeyCombination(int... keyCodes);

    void delay(int millis);
}
